package com.zhitan.ems.app.stat.facade;

import java.util.Date;
import java.util.Map;

public interface StatFacade {

	/**
	 * 获取小时统计数据（昨天的合计数据），包括同比和环比
	 */
	Map<String, Object> getHomeHourlyStatistics(String statTime,Integer energyType);

	/**
	 * 获取天统计数据，包括同比和环比
	 */
	Map<String, Object> getDailyStatistics(String deviceCode,String address,Long groupId);

	/**
	 * 获取月统计数据，包括同比和环比
	 */
	Map<String, Object> getMonthlyStatistics(String deviceCode,String address,Long groupId);

	/**
	 * 获取年统计数据，包括同比和环比
	 */
	Map<String, Object> getYearlyStatistics(String deviceCode,String address,Long groupId);
	
	
	
	/**
	 * 24获取小时统计数据（昨天的合计数据），包括同比和环比
	 */
	Map<String, Object> list24HourlyStatistics(String dateStr,String deviceCode,String address,Long groupId, Integer groupType);
	
	/**
	 * 获取天统计数据，包括同比和环比
	 */
	Map<String, Object> list30DailyStatistics(String monthStr,String deviceCode,String address,Long groupId, Integer groupType);
	
	/**
	 * 获取月统计数据，包括同比和环比
	 */
	Map<String, Object> list12MonthlyStatistics(String yearStr,String deviceCode,String address,Long groupId, Integer groupType);
	
	/**
	 * 获取年统计数据，包括同比和环比
	 */
	Map<String, Object> list3YearlyStatistics(String deviceCode,String address,Long groupId, Integer groupType);

	Map<String, Object> getDayPieStatistics(Date startDate, Date endDate, Integer groupType, Integer energyType);

	Map<String, Object> getMonthPieStatistics(Date startDate, Date endDate, Integer groupType, Integer energyType);

	Map<String, Object> getYearPieStatistics(Integer year, Integer groupType, Integer energyType);

	

	




	/**
	 * 获取小时统计数据（昨天的合计数据），包括同比和环比
	 */
	Map<String, Object> getHourlyStatisticsCost(String statTime,Integer energyType);

	Map<String, Object> getHourlyStatisticsRanking(String statTime, Integer energyType, Integer top);

	/**
	 * 获取小时统计数据（昨天的合计数据），包括同比和环比
	 */
	Map<String, Object> getHourlyStatisticsByGroupId(String statTime, Long groupId, Integer energyType);

	/**
		 * 获取小时统计数据（昨天的合计数据） 分单元 分组统计
		 */
	Map<String, Object> getHourlyStatisticsByGroupAndDeviceCode(String statTime, Long groupId, Integer energyType,
			Integer groupType);

	Map<String, Object> flowAnalysis(String statTime,Integer energyType);
	Map<String, Object> getHourEnergyTypeGroupListStatistics(String statTime);
	Map<String, Object> getHourEnergyTypePieStatistics(String statTime);
	
	Map<String, Object> getHourElectricityCostTypePieStatistics(String statTime);
	Map<String, Object> getHourElectricityCostTypeListStatistics(String statTime);

	Map<String, Object> getHourlyStatisticsCarbon(String statTime, Long groupId);
	
	
	Map<String, Object> listHourlyStatistics(String statTime,String deviceCode,String address,Long groupId, Integer groupType);

	Map<String, Object> getHourPieStatistics(String statTime, Integer groupType, Integer energyType);

	Map<String, Object> getHourListStatistics(String statTime, Integer groupType, Integer energyType);

	Map<String, Object> getHourDeepStatCost(String statTime, Long groupId, Integer groupType, Integer energyType);
}
